It is well known that technological change is occurring at a rapid pace. Such change can be of benefit in the area of software and software development. Developers use software services (e.g., SOAP and EJB for distributed processing) to implement applications. However, new services are regularly developed, which enables developers to select from a rich execution environment when they develop an application. This choice of services provides flexibility in initial implementation, but inhibits later modifications.
Once a developer has implemented an application according to a particular service, however, it is very difficult to implement application changes without conforming such changes to the constraints of the previously selected service. Therefore, developers typically must implement the changes in accordance with the service regardless of whether a new and improved service exists. If a developer desires to use a different service for the application, a complete rewrite of the application is commonly required.
Therefore, there is a problem in the art that, once a system is implemented, all new or changed processes are constrained by the selected system service to ensure interoperability.